'\"macro stdmacro
.\"
.\" Copyright (c) 2014-2015 Red Hat.
.\"
.\" This program is free software; you can redistribute it and/or modify it
.\" under the terms of the GNU General Public License as published by the
.\" Free Software Foundation; either version 2 of the License, or (at your
.\" option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
.\" or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" for more details.
.\"
.TH "PMDAROOT" 1 "PCP" "Performance Co-Pilot"
.SH NAME
\f3pmdaroot\f1 \- a privileged PMCD helper performance metrics domain agent
.SH SYNOPSIS
\f3$PCP_PMDAS_DIR/root/pmdaroot\f1
[\f3\-d\f1 \f2domain\f1]
[\f3\-l\f1 \f2logfile\f1]
[\f3\-s\f1 \f2sockname\f1]
.SH DESCRIPTION
.B pmdaroot
is a special Performance Metrics Domain Agent (PMDA) which cooperates
closely with
.BR pmcd (1)
and other PMDAs to provide limited privileged services to these
unprivileged processes.
.PP
In this role it is used to discover operating system containers running
on the local host.
It also enables access to performance data from within those containers
by other PMDAs running on the bare-metal host, using the
.BR pmdaRootConnect (3)
and the associated namespace interfaces.
.PP
Like all other PMDAs, it also exports performance metrics from the domain
it controls.
Currently, this is limited to information about the containers on the
local system; currently Docker and LXC containers can be detected.
.PP
If a non-default Docker parent-cgroup name is being used, this value can
be indicated to
.B pmdaroot
through addition of a
.B $PCP_SYSTEMD_CGROUP
variable in
.IR /etc/pcp.conf .
.TP 5
.B \-d
It is absolutely crucial that the performance metrics
.I domain
number specified here is unique and consistent.
That is,
.I domain
should be different for every PMDA on the one host, and the same
.I domain
number should be used for the same PMDA on all hosts.
.TP
.B \-l
Location of the log file.  By default, a log file named
.I root.log
is written in the current directory of
.BR pmcd (1)
when
.B pmdaroot
is started, i.e.
.BR $PCP_LOG_DIR/pmcd .
If the log file cannot
be created or is not writable, output is written to the standard error instead.
.TP
.B \-s
Location of the
.BR unix (7)
domain socket for communication with clients seeking privileged operations.
By default, a socket file named
.BR $PCP_TMP_DIR/pmcd/root.socket
is used.
.SH INSTALLATION
Access to the names, help text and values for the kernel performance
metrics is available by default \- unlike most other agents, no action
is required to enable them and they should not be removed.
.SH FILES
.PD 0
.TP 10
.B $PCP_PMDAS_DIR/root/help
default help text file for metrics exported by the root PMDA.
.TP 10
.B $PCP_LOG_DIR/pmcd/root.log
default log file for error messages and other information from
the root PMDA.
.TP 10
.B $PCP_TMP_DIR/pmcd/root.socket
default socket file for communication with root PMDA clients.
.PD
.SH "PCP ENVIRONMENT"
Environment variables with the prefix
.B PCP_
are used to parameterize the file and directory names
used by PCP.
On each installation, the file
.I /etc/pcp.conf
contains the local values for these variables.
The
.B $PCP_CONF
variable may be used to specify an alternative
configuration file,
as described in
.BR pcp.conf (5).
.SH SEE ALSO
.BR PCPIntro (1),
.BR pmcd (1),
.BR PMDA (3),
.BR pmdaRootConnect (3),
.BR pcp.conf (5)
and
.BR unix (7).
